package com.ztgf.order.models.dto;

import com.baomidou.mybatisplus.annotations.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ztgf.common.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 赊销付款比例
 *
 * @author zeming.lv
 * @Date 2021-09-16 11:26:15
 */
@Data
@TableName("order_payment_scale")
@ApiModel(value = "订单付款比例对象", description = "订单付款比例对象")
public class OrderPaymentScaleDTO extends BaseDTO implements Serializable {
    @ApiModelProperty("原订单id")
    private Long orderId;

    @ApiModelProperty(value = "赊销id")
    private Long paymentId;

    @ApiModelProperty(value = "备注/支付条件")
    private String remark;

    @ApiModelProperty(value = "付款时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;

    @ApiModelProperty(value = "支付比例")
    private BigDecimal paymentScale;

    @ApiModelProperty(value = "付款金额")
    private BigDecimal paymentAmount;

    @ApiModelProperty(value = "总金额")
    private BigDecimal paymentTotal;

    @ApiModelProperty(value = "支付状态 0未付款、1支付中、2支付成功、3支付失败")
    private Integer paymentStatus;

    @ApiModelProperty(value = "期数")
    private Integer periods;

    @ApiModelProperty(value = "支付时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentSuccessTime;

    @ApiModelProperty(value = "合同金额")
    private BigDecimal contractAmount;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundAmount;

    @ApiModelProperty(value = "支付方式(0余额、1网银、2票据)")
    private Integer paymentType;


    @ApiModelProperty(value = "票据名称")
    private String billName;

    @ApiModelProperty(value = "票据图片路径")
    private String billUrl;

    @ApiModelProperty(value = "用户票据上传确认时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date billConfirmTime;

    @ApiModelProperty(value = "订单支付关系表id")
    private Long payRelationId;

    @ApiModelProperty(value = "预期次数")
    private Integer overdueTimes;

}
